


xoxo

by reylofics



Category: Andi Mack (TV)
Genre: Boys Kissing, Established Relationship, Kissing, M/M
Language: English
Status: Completed
Published: 2018-08-17
Updated: 2018-08-20
Packaged: 2019-06-28 19:48:11
Rating: Teen And Up Audiences
Warnings: No Archive Warnings Apply
Chapters: 7
Words: 4,413
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/15713895
Author URL: https://archiveofourown.org/users/reylofics/pseuds/reylofics
Summary: 7 kisses. 7 different settings.





	1. good morning

**Author's Note:**

> i’m not sure that there are any trigger warnings that should be included but don’t hesitate to let me know if you’d prefer that i add a trigger warning for something i forgot! enjoy the story and thank you. :)
> 
> note: in some settings, the characters will be aged up for legal reasons (i.e., they’re about college age in chapter 1 and etc.)!

TJ automatically rolled over onto his side, bumping into Cyrus’s sleeping body laying peacefully on the mattress beside him. He offered a quiet apology immediately afterwards. Though, it wasn’t much use, considering the fact that Cyrus was still in a deep slumber and was unable to hear him. Nonetheless, TJ couldn’t help but stare at how beautiful the younger boy was. His boyfriend looked so peaceful sleeping like this in his bed, his dark eyelashes curled up to compliment his pale cheeks and his face crinkled up in just the right way to create a vision of perfection. 

Instead of waking him up, TJ thought it would be easier to just sling his arm around the smaller boy. So he did exactly that. His arm seemed to fit almost perfectly against the small crook of the other boy’s back like two matching puzzle pieces. Here, he felt content enough to go back to sleep. Slowly, the older boy began to close his eyes again.

Had he been anywhere else, Cyrus’ boyfriend felt confident that he would’ve been unable to go back to sleep. Everything was easy with Cyrus, though. TJ was able to turn back into his original state of dreaming without even a second thought. All he had to do was snuggle closer to his boyfriend and he started to fall right asleep. Holding him in his arms felt so safe and secure at times that it almost felt too good to be true. God, he was so in love.

He wished that he could stay like this forever, all snuggled up in bed. However, he didn’t have much time to think about it as his eyes drowsily closed shut into Cyrus’ shoulder. His eyes began to rest in a dreamy state and the world around him seemed to become invisible and dissolve as he disappeared into a state of perpetual happiness.

Soon after, Cyrus finally woke up. His fists rose up to groggily shake his eyes awake. He yawned, leaning back into his boyfriend. Cyrus sighed contentfully into the warmth of TJ’s embrace. For some odd reason, he felt a bit of a ache on his right shoulder but it wasn’t too big of a deal—he merely shrugged it off and yawned sleepily.

Somehow, the darker haired boy managed to turn around to face his boyfriend, who still had his arms sheepishly around him. Cyrus was too enamored to even think of undraping TJ’s arms from around his body. It all felt more right than anything else ever had. God, he was so in love.

Unknown to him, Cyrus began to intently study the taller boy’s features with a look of pure adoration on his face just as TJ had done earlier in the morning. He brushed a gelled curl back from the other boy’s face and hummed positively as a result. The gentle beginnings of his humming voice started to wake up TJ again but he wasn’t quite ready to open his eyes, so he stayed laying in bed with his eyes closed and his chest heaving up and down in a normal fashion. Almost subconsciously, he pulled Cyrus closer to him and held him loosely. Cyrus smiled at the action.

Impulsively, TJ’s boyfriend leaned forward and pecked him sweetly on the tip of his nose. Slowly, TJ’s eyes began to open to the sight of his grinning boyfriend in his arms. He, too, smiled upon waking up this. TJ leaned forward and kissed Cyrus, in return. 

First, he started his kisses on Cyrus’ forehead, trailing down to his boyfriend’s lips. When he reached the shorter boy’s lips, he paused for a moment while Cyrus puckered his lips patiently. TJ couldn’t refrain from kissing his adorable boyfriend for too long, though. He was unable to contain his adoration and impatiently rushed forward to meet their lips together in a sealed kiss.

When they finally pulled back, Cyrus breathlessly said, “Good morning!”


	2. forehead

**Notes for the Chapter:**

> the characters are aged up to sophomore year of high school. 
> 
> also, i’m just now realizing that some readers are not from america and it was ignorant of me to assume otherwise! here’s a guide for the schooling system i’ll be using if you’re not from america :) :
> 
> middle school (8th grade) - 13/14 yrs  
> high school (9th grade) - 14/15 yrs  
> hs (10th grade) - 15/16 yrs  
> hs (11th grade) - 16/17 yrs  
> hs (12th grade) - 17/18 yrs  
> college - 18+ years
> 
> i hope this helps!

Cyrus and TJ were walking to their separate classes after lunch. Of course, they were holding hands as they walked along. Anyone walking by could see that they were practically inseparable. They were always glued to each other’s side when they were together. When they weren’t together, it still felt like they were glued together, just not as much as when they were side by side.

Though, contrary to what many people thought, the pair wasn’t necessarily clingy. They just preferred each other’s company most of the time.

“Anyways, I’ll see you later, yeah?” 

Cyrus nodded mournfully, his fingers slowly detaching from his boyfriend as they began to part their different ways. They went through the same routine every single day but that didn’t mean it was any easier. Neither of them could wait until the end of the day, when they could rejoice and go grab a snack before heading over to one of their houses. Sadly, they still had the rest of the day to get through.

“See you later, Not So Scary Basketball Guy,” Cyrus joked.

Their fingers finally detached and TJ playfully punched his boyfriend in the shoulder.

“See you later, Muffin,” retorted TJ with a goofy look on his face.

“Muffin? I thought I was Underdog?” asked Cyrus quizzically.

TJ shook his head in mock annoyance, placing his head in his hands before looking up to answer Cyrus’ question. “You’re still Underdog but you’re also kind of a Muffin. Ya’ know?”

Cyrus only laughed as his boyfriend reached over to ruffle his dark hair. He knew they had to go to their classes but he had to admit that it was better here, joking around with his boyfriend in the hallway. Even so, he was not about to start a skipping streak. Cyrus began to pull in TJ for one last hug before they walked away and TJ gladly returned the embrace. They held each other for a moment with Cyrus nuzzling into the taller boy’s chest. 

TJ gave his boyfriend one last kiss on the forehead as their sort of farewell for the hour. It was his way of leaving an imprint on his boyfriend and reminding him of what was to come after school (hundreds of other kisses that were exactly the same).

“See you, Muffin,” said TJ cheesily while he took his lips away from Cyrus’ forehead. 

They let go of each other after one more brief moment and, in the end, went to their classes without a single more complaint.


	3. drunk

**Notes for the Chapter:**

> the characters are aged up to 21 years old (the legal age for drinking in america).

Drunk. That’s what they were. Cyrus and TJ were both completely wasted from the events that had just taken place at the party they had just attended. They stumbled into the doorway of their apartment drunkenly, Cyrus giggling like a child when he kept stepping on TJ’s toes. TJ just rolled his eyes at his boyfriend, but not unkindly—it was more out of love than it was out of annoyance.

While they walked to the couch, their coats and shoes were carelessly flung the floor in a dismissive manner. They’d most likely pick up the mess in the morning. For now, all they were concerned about was finding a proper spot to get comfy and settle down. From there, TJ assumed that they’d probably watch TV until they fell asleep. He didn’t even want to think about tomorrow and the massive hangovers they’d both have.

“T-TJ,” whispered Cyrus. He beckoned the other boy closer with his hand to whisper in his ear. “I’m tired.”

The taller boy grabbed Cyrus’ hands reassuringly. “I know, Cy. Me too.”

TJ was unsure of whether or not Cyrus had heard him, though. His boyfriend had already started to close his eyes and rest on his shirt—not that he minded. Then Cyrus shot up like a rocket. He clasped his hands together, showing the giddiness of a young child or hyperactive puppy.

“Oh, TJ, let’s reenact that one scene from...uh...,” he paused to think about it, “Never Been Kissed!” Cyrus raised his pointed finger in the air like it was a momentous scientific breakthrough.

Cyrus’ boyfriend didn’t have much time to respond as the younger boy reached in to the back of his neck and tugged him in for a drunken kiss. TJ gladly returned the kiss, sloppy and messy but oddly innocent at the same time. Cyrus was messing up TJ’s hair in the process but then again, it had already been messed up earlier that night so he didn’t really care. TJ wasn’t even sure that his lips were touching Cyrus’ entirely but he was too drunk to think about the logistics of it all.

Breathless, Cyrus was the first to pull back with his hands still in TJ’s messed up hair. He laughed at the sight in front of him, throwing TJ into a sudden fit of matching giggles. They sat there on the couch, laughing at each other for laughing. TJ wasn’t even sure of what he was laughing at, though, and neither was Cyrus. At one point, their laughs turned into yawns and their wide eyes closed as they dozed off in each other’s arms.


	4. awkward

**Notes for the Chapter:**

> no “age-ups” in this chapter!

It was their one month anniversary. Some time after they had shyly admitted that they were into each other, Cyrus and TJ had finally gone out on a date. They said that it was a “test date” to see if they really wanted to go out with each other. Obviously, the date proved successful and TJ ended up asking out Cyrus a week later with a grand gesture that would’ve wooed even the grumpiest of people. He showed up at school with a bouquet of red roses and a stereo to blast his heart out and that was all it took for Cyrus to jump into his arms and shout “Yes!” for the entire courtyard to hear.

A month later and here they were, at The Spoon.

“I’ll get some baby taters, please,” Cyrus said when Amber came over to take their order. “And a milkshake to share,” he added.

TJ motioned that he was ordering the same food and when she heard his voice, Amber quickly wrote down the order and tucked it away in her apron to face the two boys in the booth. The blonde girl tapped her acrylic nails on her cheek, thinking for a moment as to what she was going to say next. Doing so, Amber looked at the two boys studiously and finally put the pieces together.

She smirked at them knowingly before asking, “Are you guys on a date?”

Cyrus had almost forgotten that they hadn’t told anyone about their relationship besides Andi and Buffy. TJ smiled back at Amber but didn’t say anything. His silence was all she needed to confirm her suspicions. Cyrus, on the other hand, was turning red from the bottom of his cheeks to the tips of his ears. He was typically a blabbermouth but this time, his silence said everything just like TJ’s smile had.

Amber, knowing her place for once, winked at the two before turning on her heel and leaving the pair alone to wait for their food and drink.

“A milkshake to share?” TJ raised his eyebrow suggestively.

Cyrus swatted his arm across the table, laughing while he did so. “Not like that, you doofus,” joked the younger boy. “What if I want it to be like that?” sighed TJ, waving his arms behind him dramatically. TJ’s boyfriend reddened extremely, leaving him to be a blushing mess. Cyrus always thought it was an ugly look on him that failed to suit his “pale complexion” but TJ thought otherwise. He thought it was cute when Cyrus got all flustered, to be quite honest. Especially knowing that he was getting flustered over the thought of kissing him was even more adorable. For a while, they sat there in silence. Cyrus was still blushing and TJ was fixated on how cute his boyfriend was. It was a common occurrence, actually. They waited patiently for their milkshake and when it arrived, Cyrus was both nervous and relieved that it was here. “Th-thanks, Amber,” he stammered hesitantly when she plopped the milkshake down with their food and gave him an all-knowing wink. “You wanna try it?” asked TJ, turning his head to the milkshake. Gulping, Cyrus nodded. He knew what TJ meant by that. He was not only going to try a new milkshake flavor from The Spoon, he was also going to have his first kiss with his first boyfriend on his first one month anniversary. TJ noticed the slight hesitation in Cyrus’ nod and squeezed his hands again when he asked for reassurance, not wanting to pressure his boyfriend into doing something he didn’t want to do. Cyrus gave a small smile back, seemingly being okay with what was about to happen next. The next moment seemed to happen achingly slow. TJ leaned forward, starting the motion. Cyrus followed soon after, his head craning closer and closer to the milkshake at the same time that TJ’s was. He closed his eyes when they were almost in the middle in scared but happy anticipation. Unfortunately, he hadn’t realized that he was still moving forward instead of letting TJ guide the following moment. “Ow!” laughed TJ, rubbing his nose in an effort to soothe it. Cyrus had accidentally bumped his nose onto TJ’s. “Oh my god,” Cyrus said, his jaw dropping to the floor. “I am SO sorry.” The younger boy leaned his head down to place it in his hands but TJ only laughed again and tilted Cyrus’ head towards his since they were already so close. Cyrus could barely even register what TJ was doing until TJ gave him a full-on kiss on the lips. He wasn’t quite sure how to respond, his lips awkwardly still against TJ’s moving lips. It wasn’t that he didn’t like it; he did, he just wasn’t quite sure of what to do with himself. Flustered, TJ flew back almost immediately. “Oh my god, now I’m the one who should be sorry,” stammered the older boy. “I didn’t mean to do that! I was going to ask if you wanted to try again and it was kind of just the heat of the moment and I didn’t know what to do! Jesus, Cy, I’m so sorry!” TJ stared at Cyrus’ reaction a bit more before continuing, “I’m sorry your first kiss was so awkward.” He sheepishly tucked his hands down by his sides and anxiously awaited whatever Cyrus was about to say next. Thankfully, he didn’t have to worry much. Cyrus was fully understanding and waved it off. Understandably so, he was still shocked but he wasn’t necessarily angry. “I liked it,” was all Cyrus had to say. “Wanna try the milkshake again?”


	5. angry

**Notes for the Chapter:**

> aged up to junior year! (16/17)

The ref blew the whistle again, stopping yet another play that could’ve resulted in another basket and another round of points for the boys basketball team at Grant High School. The boys were annoyed, to say the least. Buffy, now captain of the girls basketball team at Grant High, was adamant about expressing her distaste by shouting at the short ref with a couple of less than favorable words. Honestly, it was a miracle that she hadn’t been kicked out already, though that was probably due to the fact that the ref was hard of hearing and chose to ignore her incessant complaints. 

“What did he do this time?” questioned TJ, mistakenly pointing to a nearby teammate who immediately held his hands up in a surrendering position.

The ref shook his head with a cross look. “Not him,” the short man said gruffly. “You,” he declared, stabbing a pudgy finger that seared directly in TJ’s chest.

TJ’s other teammates rolled their eyes at what they believed was a false claim. TJ was merely annoyed but it was no worse than what the audience was beginning to do. Once they got word of who the foul was pinned on, the Home section of the gym erupted in an outroar, shouting obscenities and rude remarks to the oblivious ref. The Visitor’s were quite pleased with the ref’s decision to penalize Grant High’s star basketball player, on the other hand.

Nonetheless, TJ played off the foul nonchalantly and was calm about the decision, unlike the other players on his team who were still upset about it. For some reason though, the ref seemed to hold a personal grudge against him. Throughout the rest of the game, the ref continued to call fouls on TJ Kippen, even when it was clear that he was at no fault. Oddly enough, the coach of the team was glad that the ref was picking on TJ instead of the other boys on the team—TJ was the only one who could keep his cool on the court. Still, down by the sidelines, Cyrus could see his boyfriend struggling not to implode every time that the ref blew the whistle to foul him. For TJ’s sake, Cyrus hoped that the game would be over soon. And, luckily for him, the last quarter happened to end rather quickly.

When the game finished, the two teams passive aggressively shook hands. It had been a close game (closer than it should’ve been) but Grant High had ended up winning. The other team was furious that they had lost, even with all the fouls that were played in their favor. TJ couldn’t care less about what the final outcome had been, though. He was, understandably so, especially livid. His emotions were at an all time high, considering the fact that he had kept his emotions bottled up during the entire game and focused elsewhere.

Now that the game was finished, TJ stormed off the court to join his awaiting boyfriend on the sidelines after shaking everyone’s hands in a fit. His teammates called after him but ignored them, too upset to be with anyone else but his boyfriend right now.

“Hey—,” started Cyrus but his voice soon became muffled as he was silenced by a fiery kiss.

TJ was still sweaty but Cyrus didn’t mind, even going as far as to blissfully sigh into the other boy’s lips. The sweat and anger at his lips mixed quite well, leaving Cyrus to feel incredibly satisfied with the result. Usually, Cyrus would’ve been concerned at the amount of people watching them, but he was too distracted with the make-out session that his boyfriend had started to calm his nerves. As he continued to melt into the taller’s boy’s embrace, Cyrus could feel TJ visibly becoming more relaxed. He had to admit that it felt great to be soothing his nerves wordlessly.

The crowd around them even began to hoot and holler at the couple engaged in a ferocious lip lock that didn’t seem to be stopping anytime soon. Out of the corner of his eye, Cyrus saw Jonah dragging a shocked Andi out the gym, probably to recreate the same action. He also saw Buffy anxiously trying to find a ride home—Andi had been her ride, but she was obviously going off somewhere else with Jonah to make out. Cyrus chuckled at the thought, laughing into his older boyfriend’s mouth. His humor seemed to branch out and touch his boyfriend, who soon began to also laugh in Cyrus’ mouth. They were both dissolving into a fit of giggles in each other’s mouths for an inexplicable reason.

“I love you,” TJ said into the younger boy’s mouth between kisses, smiling against his lips. “Thank you.”


	6. i’m sorry

**Notes for the Chapter:**

> age ups to sophomore/junior year? (15/16/17)
> 
> also, i’m thinking that, for the most part, they’ll be aged up to sophomore year and beyond because i don’t feel that comfortable with writing about two eighth graders making out (though that might not be the case for every chapter!).

“I’m sorry, baby.”

TJ was currently peppering kisses all over Cyrus’ hair, but his boyfriend didn’t seem to be relenting from his silent treatment anytime soon. He had his arms crossed tightly, his face looking extremely sour. At least he wasn’t pushing TJ away. His boyfriend would’ve understood if Cyrus was feeling mad enough to send him back home to eat dinner with his parents. Luckily for him, Cyrus wasn’t that type of person. Plus, Cyrus’ step-father, Todd, was already in the process of making food downstairs and Cyrus wasn’t one to let extra food go to waste and be stored in the refrigerator for them to eat tomorrow. He would rather have his boyfriend eat the extra food with them rather than send him home and have to explain to his mother why he had done so.

Cyrus didn’t feel like explaining much, anyways. TJ knew what he had done and that was all that mattered. The younger boy had been patiently waiting for whatever TJ would do next to make up for his “mistake” (though Cyrus was willing to admit that he was dragging on the fight longer than necessary). He had been expecting another round of apologies or possibly a gift that he had been secretly stashing in his backpack for another time. What he hadn’t been expecting was to be bombarded with kisses atop of his dark hair.

But he couldn’t let the older boy know that he was secretly enjoying TJ’s new method of apologizing nor could he let him know that it was working. So he stayed with his arms crossed and a stubborn frown that TJ was focused on turning upside down. He was convinced that he was doing a great job of concealing his amusement but it wasn’t lasting for long. Soon enough, Cyrus was beginning to twitch in both of his eyes as he struggled to not burst out laughing at how adorable his boyfriend was. The other boy was beginning to catch on.

“I’m sorry, baby,” TJ kept whispering over and over again into his hair. 

He was closing his eyes, holding onto the shorter boy’s waist while he sat in front of him. The taller boy was breathing his boyfriend’s hair in directly. It smelled like strawberries and baby shampoo. Ultimately, Cyrus couldn’t help but smile. After what felt like an endless eternity full of bountiful kisses, Cyrus uncrossed his arms. He leaned forward to pull the other boy down from his hair and kissed TJ, which caught him by surprise. His eyes were wide open but upon realizing the situation, TJ soon closed his eyes and melted graciously into the kiss without any questions.

“Sorry for getting mad over something stupid,” mumbled the shorter boy.

“What was that?” snickered TJ.

“Said ‘m sorry,” mumbled Cyrus, looking down at his hands.

“What?” asked TJ, grinning while he cupped his hands over his ear.

“I’m sorry,” Cyrus finally said, kissing the other boy on the cheek playfully and rolling his eyes at the same time.

The two boys held each in a quick embrace and it seemed that everything was solved, for the moment.


	7. i’ve missed you

**Notes for the Chapter:**

> age ups to senior year (for logical reasons)! (17/18)

Cyrus and TJ were busy all the time. At the moment, Cyrus kept hesitantly sparing glances at the slowly ticking clock on the wall. As President of the Student Body, he had a position to fill. Unfortunately, one of the more loathsome parts of that position was that he had to stay after school late on some day to provide his input for meetings regarding extracurriculars and such. Usually, he didn’t have much of a problem with it but, considering his plans later in the day, he was anxiously waiting for the clock to turn ahead a few minutes. 

Every minute counted. For every minute that Cyrus spent in that room, that was another minute gone to waste. That was another minute spent wasted of the limited time that he could’ve been spending with TJ. After all, if his plans were only to hang out with TJ after school, Cyrus wouldn’t be in much of a rush to get home. But seeing as he had to do homework and other things, Cyrus only had a couple precious moments to spend with his boyfriend, who was also busy with basketball at the same time that he was busy being President of the Student Body.

Still, Cyrus had to fulfill his duty. So, for the time being, he was intent on focusing on the meeting instead of glancing up at the clock every few seconds. It was starting to gnaw at him like a guilty conscience, though and he couldn’t contain himself any longer. Luckily, when he chose to look at the clock again, he was just in time to see the clock turn to four.

“Well,” Cyrus exclaimed, clasping his hands together in a tight manner, “as much as this has been fun, I have business elsewhere to attend to.” He left the room, playfully ignoring the wink that Andi sent him in regards to his next adventure.

Finally free of his commitment, Cyrus rushed to the other end of the campus, where he patiently waited for his sweaty boyfriend to come out of the locker room. He idly waited against the cool granite wall behind him, tapping his fingers unknowingly by his sides in anticipation. It was a nervous habit of his that he couldn’t seem to shake. Even as he consistently pulled his phone out of his back pocket to check the time, his fingers were still insistently tapping along the sides. One minute, then two, then five. Cyrus was starting to grow more and more impatient by the minute. When the clock reached ten minutes past four, Cyrus turned on his heel to leave. Luckily for him, TJ came bursting out of the locker room right on time, completely drenched in sweat and out of breath. 

“Wait,” breathed out the basketball player weakly after the shorter boy. 

He had his gym bag towing along on his shoulder, his arms reached out for the other boy. Cyrus was unable to resist and any thought of being mad at this boy, the love of his life, vanished away without a second thought. He gave a small smile to his boyfriend and gladly accepted his still sweaty arms wrapping around him in an apologetic embrace. 

“Coach held us out late,” TJ explained against the nook of Cyrus’ ear when he held him in close. 

Cyrus only murmured gently in response that it was okay and he was glad that he was there now. They continued to hold each other in the middle of the hallway, nuzzling their faces together in a sickeningly sweet way. Slowly, TJ began to mesh his lips with his boyfriend’s, going even further to apologize to him. 

“I love you,” he repeated over and over again on his lips, tracing the words with his lips over Cyrus’.

“I missed you,” Cyrus said in return, sinking even deeper into his boyfriend’s arms.

**Author's Note:**

> feel free to leave a comment/kudos at the end! thanks :)


End file.
